console.log('script start')
async function fun1(){
    await fun2()
    console.log('async1')
}
async function fun2(){
    console.log('async2')
}
fun1()
setTimeout(()=>{
    console.log('setTimeout')
},0)
new Promise((resolve)=>{
    console.log('promise1')
    resolve()
}).then(()=>{
    console.log('promise2')
}).then(()=>{
    console.log('promise3')
})
console.log('script end')

// script start
// async 2
// promise1
// script end
// async1
// promise2
// promise3
// setTimeout
